package com.bestcem.xm.ticket.entity.mysql;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 项目工单规则配置表
 * 问卷项目->开启提醒->工单规则列表
 * 一个问卷项目对应多条工单规则配置
 *
 * @author liheng
 * @version v1.0
 * @date 2021/8/16 10:58
 */
@ToString(callSuper = true)
@Getter
@Setter
public class TicketConfigDO extends BaseDO {
    private static final long serialVersionUID = 1L;

    /**
     * 实体标识
     */
    private String ticketConfigId;

    /**
     * 系统id
     */
    private String sysId;

    /**
     * 组织id
     */
    private String orgId;

    /**
     * 用户id
     */
    private String userId;

    /**
     * 问卷id
     */
    private String surveyId;

    /**
     * 工单流程id
     */
    private String ticketFlowIds;

    /**
     * @see com.bestcem.xm.ticket.enums.TicketConfigCreateTriggerEnum
     */
    private Integer createTrigger;

    /**
     * 预警id
     */
    private String alertId;

    /**
     * 预警规则id
     */
    private String alertRuleIds;

    /**
     * 预警规则数量，默认为零
     */
    private Integer alertRuleCount;

    /**
     * 是否
     */
    private Boolean onlyHasContact;

    /**
     * 处理模板id
     */
    private String ticketTemplateId;

    /**
     * 详情模板id  (工单2.3加入)
     */
    private String detailTemplateId;

    /**
     * 工单通知配置id list
     */
    private String ticketNotifyConfigIds;

    /**
     * 工单的生成规则列表
     */
    private String ruleList;

    /**
     * 状态规则(二次投放相关)list  (TicketRuleId为key,operation为value. 的 map-list)
     * 问卷项目->开启提醒->工单规则->具体工单规则->更多设置
     */
    private String statusRuleList;

    /**
     * 工单配置 标题
     */
    private String title;

    /**
     * 工单配置状态
     *
     * @see com.bestcem.xm.ticket.enums.TicketConfigStateEnum
     */
    private Integer state;

    /**
     * 工单的生成规则列表id  (TicketRule 的 id)
     */
    private String ticketRuleId;

    /**
     * 是否需要跟进处理
     */
    private Boolean needDeal;

    /**
     * 至少需要一次提交记录
     */
    private Boolean needRecord;

    /**
     * 是否通知管理员
     */
    private Boolean remindAdmin;

    /**
     * 是否通知处理人
     */
    private Boolean notifyHandler;

    /**
     * 工单详情，显示内容
     * 这个字段表中没有找到，先暂时定义为Object
     */
    private String templateDetailFields;

    /**
     * 发送邮件的id
     */
    private String smtpId;

    /**
     * 是否是sample数据
     */
    private Boolean sample;

}
